package com.ling.pl.autoproject.definition.component.model;

import com.ling.pl.core.commons.annotation.Dict;
import com.ling.pl.core.commons.annotation.ModelProperty;

import javax.persistence.Column;

/**
 * 实体属性搜索项 属性搜索模式
 */
public class PropertyFilterController {
    //实体属性搜索表单项信息
    @Column(name = "ENTITY_ID", length = 36)
    @ModelProperty(comment = "实体id")
    String entityId;

    @Column(name = "PROPERTY_ID", length = 36)
    @ModelProperty(comment = "属性id")
    String propertyId;

    @Column(name = "PROPERTY_PROCESSOR", length = 150)
    @ModelProperty(comment = "值处理")
    String propertyProcessor;

    @Column(name = "QUERY_OPERATION", length = 150)
    @ModelProperty(comment = "符号操作")
    @Dict(code = "builder.entity.queryOperation", des = "=,<>,>,>=,<,<-.null, not null, is null,%,%...,...#,in, not in")
    String queryOperation;

    @Column(name = "EDITOR_TYPE", length = 150)
    @ModelProperty(comment = "编辑器类型")
    @Dict(code = "builder.entity.editorType", des = "文本框.密码框,隐藏表单项,多行输入框,多行输入框(10行),IP地址输入框,直接内容,标签,下拉列表框,下拉列表框(100宽度).选项框," +
            "单选项列表,....见")
    String editorType;

    @Column(name = "EDITOR_STYLE", length = 150)
    @ModelProperty(comment = "编辑器样式")
    @Dict(code = "builder.entity.editorType", des = "精确到分钟,密码框,只有小时分钟,邮箱网址,精确到天,电话号码,精确到小时,数字")
    String editorStyle;

    @Column(name = "LABEL", length = 150)
    @ModelProperty(comment = "标题")
    String label;

    @Column(name = "LABEL_I18N", length = 150)
    @ModelProperty(comment = "标题i18n")
    String labelI18n;

    @Column(name = "WIDTH_")
    @ModelProperty(comment = "宽度")
    Integer width;

    @Column(name = "HEIGHT_")
    @ModelProperty(comment = "高度")
    Integer height;

    @Column(name = "RULE_ID", length = 36)
    @ModelProperty(comment = "系统值规则", des = "常用正则表打死列表CheckRule")
    String ruleId;

    @Column(name = "PLACEHOLDER", length = 150)
    @ModelProperty(comment = "输入提示")
    String placeholder;

    @Column(name = "PLACEHOLDER_I18N", length = 150)
    @ModelProperty(comment = "输入提示i18n")
    String placeholderI18n;

    @Column(name = "ICON", length = 150)
    @ModelProperty(comment = "输入提示i18n")
    String icon;

    @Column(name = "FORMAT", length = 150)
    @ModelProperty(comment = "格式化")
    String format;

    //实体引用配置 关联表和数据集合,配合编辑器类型为数据选择(下拉)就成为了下拉框
    @Column(name = "REL_ENTITY_ID", length = 36)
    @ModelProperty(comment = "关联实体id")
    String relEntityId;

    @Column(name = "REL_SELF_FILL_ID", length = 36)
    @ModelProperty(comment = "关联自填id")
    String relSelfFillId;

    @Column(name = "REL_DATASET_ID", length = 36)
    @ModelProperty(comment = "关联实体数据集合id")
    String relDatasetId;

    @Column(name = "REL_SELECT_VIEW_ID", length = 36)
    @ModelProperty(comment = "关联实体选择视图")
    String relSelectViewId;

    @Column(name = "REL_MULTI_SELECT_VIEW_ID", length = 36)
    @ModelProperty(comment = "关联实体多项选择视图")
    String relMultiSelectViewId;

    @Column(name = "REMARK", length = 500)
    @ModelProperty(comment = "备注")
    String remark;
}
